// let { children: { start: { line: localLine } } } = {
//   type: 'node',
//   name: 'foo',
//   children: {
//     start: {
//       line: 1
//     }
//   }
// }
// console.log(localLine) // 1

// let colors = ['red', 'blue']
// let [ firstColor, secondColor, thirdColor = 'yellow' ] = colors
// console.log(firstColor) // red
// console.log(secondColor) // blue
// console.log(thirdColor) // yellow

// let colors = ['red', 'blue', 'yellow']
// let [ , , thirdColor ] = colors
// console.log(thirdColor) // yellow

// let a = 1,
//     b = 2
// ;[a, b] = [b, a]
// console.log(a) // 2
// console.log(b) // 1


// let colors = ['red', ['green', 'lightGreen'], 'blue']
// let [firstColor, [ , secondColor]] = colors
// console.log(firstColor, secondColor) // red lightGreen

// let colors = ['red', 'blue', 'yellow']
// let [firstColor, ...otherColor] = colors
// console.log(otherColor) // [ 'blue', 'yellow' ]

// let colors = ['red', 'blue', 'yellow']
// let [ ...cloneColors ] = colors
// console.log(cloneColors) // [ 'red', 'blue', 'yellow' ]

// const node = {
//   type: 'tree',
//   name: 'f1',
//   children: [
//     {
//       name: 'c1'
//     },
//     {
//       name: 'c2'
//     }
//   ]
// }
// const {
//   type, children: [, c2Obj]
// } = node
// console.log(type, c2Obj) // tree { name: 'c2' }

const options = {
  secure: false,
  path: '/',
  domain: 'example.com',
  expires: new Date(Date.now() + 360000000)
}
function setCookie (name, value, {
  secure = false,
  path = '/',
  domain = 'example.com',
  expires = new Date(Date.now() + 360000000)
} = options) {
  // do something
}
setCookie('type', 'js')
